//variables globales
var detalle = new Array();
var suma_debe =0;
var suma_haber =0;
// fin variables globales

$(document).ready(function() {

	$("input,select").keyupEnter2tab();
	
	$("#liquidacionForm").validate();
	// tooltips
	// fin tooltips

	// botones
	Utiles_Botones.creaBotonGuardarDatos("btn_pedido",enviaLiquidacion);
	Utiles_Botones.creaBotonLimpiar("btn_pedido_limpiar",limpiaFormulario);
	// fin botones

	// eventos change
	$("#cmb_zona").change(llenarComboLocalidad);
	// fin eventos change

	// calendario
	$('input.fecha_pedido').datepicker();
	// fin calendario
	
	// creacion de la tabla
	jQuery("#tabla_liquidacion").jqGrid({ 
		url:'',// url para obtener data
		mtype: 'GET',// metodo de solicitud
		datatype: "json",// formato de datos que representa la data
		colNames:['correlativo','tipo_contable','monto_asiento','CUENTA CONTABLE','DESCRIPCION','DEBE (D)','HABER (H)'],
		colModel:[ 
		           {name:'correlativo',index:'correlativo',hidden : true},
		           {name:'tipo_contable',index:'tipo_contable',hidden : true},
		           {name:'monto_asiento',index:'monto_asiento',hidden : true},
		           {name:'cuenta_contable',index:'cuenta_contable',width:90},
		           {name:'desc_cuenta',index:'desc_cuenta',width:350},
		           {name:'monto_debe',index:'monto_debe', width:90,sorttype:'number',formatter:'number', formatoptions: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00' }, align:"right",summaryType:'sum'},
		           {name:'monto_haber',index:'monto_haber', width:90,sorttype:'number',formatter:'number', formatoptions: { decimalSeparator: ".", thousandsSeparator: " ", decimalPlaces: 2, defaultValue: '0.00' }, align:"right",summaryType:'sum'}
		          ], 
		rowNum:20,
		loadComplete: function () {
			data= $('#tabla_liquidacion').jqGrid('getGridParam','data');
			suma_debe =0;
			suma_haber =0;
			$.each(data, function(i) {
				suma_haber+=(this.monto_haber)?this.monto_haber:0.00;
				suma_debe+=(this.monto_debe)?this.monto_debe:0.00;
				if(this._id_ == undefined)
					 this._id_=(i+1);
				jQuery("#tabla_liquidacion").jqGrid('setRowData',this._id_,{correlativo:(i+1)});
			});
			suma_debe = redondear(suma_debe,2);
			suma_haber = redondear(suma_haber,2);
			jQuery("#tabla_liquidacion").jqGrid('setGridParam',{data:data}).trigger("reloadGrid");
			$(this).jqGrid('footerData','set', {desc_cuenta:"TOTAL ====>",monto_haber:suma_haber,monto_debe:suma_debe});
		},
		rowList:[20,40],
		pager: '#pager_liquidacion',
		viewrecords: true,
		// autowidth: true,
		width:650,
		height:220,
		rownumbers: true,
		scrollOffset: 0,
		// sortname: 'monto_total',sort fijo
		// sortorder: "desc",sort fijo
		jsonReader: { 
			repeatitems : false
			  },
		emptyrecords: "No hay registros",
		loadonce:true,
		footerrow : true, userDataOnFooter : true// altRows:true,
		}); 
	// fin de la tabla

	// addons de la tabla
	jQuery("#tabla_liquidacion").jqGrid('navGrid', '#pager_liquidacion', {
		edit : false,
		add : false,
		del : false
	});
	jQuery("#tabla_liquidacion").navButtonAdd('#pager_liquidacion', {
		caption : "Agregar",
		buttonicon : "ui-icon-plus",
		onClickButton : showDetalleLiquidacion,
		position : "last",
		title : "",
		cursor : "pointer"
	});
	jQuery("#tabla_liquidacion").navButtonAdd('#pager_liquidacion', {
		caption : "Eliminar",
		buttonicon : "ui-icon-trash",
		onClickButton : eliminaItem,
		position : "last",
		title : "",
		cursor : "pointer"
	});
	
});

/*----------funciones------------*/

function ajaxFileUpload()
{
	/*$("#loading")
	.ajaxStart(function(){
		$(this).show();
	})
	.ajaxComplete(function(){
		$(this).hide();
	});
*/
	$.ajaxFileUpload
	(
		{
			url:'uploadFile',
			secureuri:false,
			fileElementId:'fileToUpload',
			dataType: 'json',
			success: function (data, status)
			{
				alert(data);
			},
			error: function (data, status, e)
			{
				alert(e);
			}
		}
	);
	
	return false;

}

function leerExcel(obj){
	alert($(obj).attr('value'));
	var excel=new ActiveXObject("Excel.Application");
	var book=excel.Workbooks.Open("c:\052012.xls");
}

function redondear(cantidad, decimales) {
	 var cantidad = parseFloat(cantidad);
	 var decimales = parseFloat(decimales);
	 decimales = (!decimales ? 2 : decimales);
	 return Math.round(cantidad * Math.pow(10, decimales)) / Math.pow(10, decimales);
} 

function showDetalleLiquidacion() {
	Utiles_MensajesDialogo.showRequestDialog2('Detalle de Liquidacion', "vista?plantilla=tesoreria/liquidacion_cobranza/jdAgregaItemLiquidacion",agregaDetallePedido,600);
}

function eliminaItem(){
	var id = jQuery("#tabla_liquidacion").jqGrid('getGridParam','selrow'); 
	if(id!=null){
		Utiles_MensajesDialogo.mensajeConfirmacion("Eliminar", "Desea realmente eliminar el item?", function(){
			jQuery("#tabla_liquidacion").jqGrid('delRowData', id);
			jQuery("#tabla_liquidacion").trigger("reloadGrid")	;
			$(this).dialog("close");
		});
	}
	else{
		alert("Seleccione un item!");
	}
}

function agregaDetallePedido(){
 	if($("#frmAsiento").valid()){
 			var asiento = $("#frmAsiento").serializeObject();
 			var n = (jQuery('#tabla_liquidacion').jqGrid('getGridParam', 'records'));
 			asiento._id_=n+1;
 			asiento.correlativo=n+1;
 			if(asiento.tipo_contable == 'D')
 				asiento.monto_debe=parseFloat(asiento.monto_asiento);
 			else
 				asiento.monto_haber=parseFloat(asiento.monto_asiento);
 			jQuery("#tabla_liquidacion").jqGrid('addRowData', 0, asiento);
 			jQuery("#tabla_liquidacion").trigger("reloadGrid");
 	}
}

function llenarComboLocalidad() {
	var zona = $("#cmb_zona").val();
	$("#cmb_localidad").bindCombo("localidad_en_zona_comercial",{zona : zona},{id : "id_localidad",desc:"nom_localidad"});
}

function enviaLiquidacion() {	
	if ($("#liquidacionForm").valid()) {
		if(suma_debe==suma_haber){
			Utiles_MensajesDialogo.mensajeConfirmacion("Agregar", "Esta seguro de realizar la operacion?", function(){
				var data = $("#tabla_liquidacion").jqGrid('getGridParam','data');
				
				var liquidacion = new Object();
				liquidacion.fecha=$("#fec_emision").val();
				liquidacion.id_zona= $("#cmb_zona").val();
				liquidacion.id_localidad =$("#cmb_localidad").val();
				liquidacion.nro_liquidacion = $("#nro_liquidacion").val();
				liquidacion.importe = suma_debe;
				
				var obj = new Object();
				obj.detalle=data;
				liquidacion.detalle =obj;
				Utiles_MensajesDialogo.showMensajeModal("Espere un momento!!");
				$.postJSON("guardar_liquidacion",liquidacion, function(rpta) {
					Utiles_MensajesDialogo.closeMensajeModal();
					if(rpta.operacion==true){
						//cargar("frmAdministra_cajachica");
						Utiles_MensajesDialogo.showMensajeExito();
						limpiaFormulario();
					}
					else
						Utiles_MensajesDialogo.showMensajeError("error");
				});
	 			$(this).dialog("close");
	 		});	
		}
		else
			Utiles_MensajesDialogo.showMensajeError("Existe inconsistencia en la informacion. Revise los datos!!");
	}
}

function limpiaFormulario(){
		$("#liquidacionForm").reset();
		var rowIds = $('#tabla_liquidacion').jqGrid('getDataIDs');
		// iterate through the rows and delete each of them
		/*for(var i=0,len=rowIds.length;i<len;i++){
		    var currRow = rowIds[i];
		    $('#tabla_liquidacion').jqGrid('delRowData', currRow);
		} */
		$.each(rowIds, function(i,item) {
			$('#tabla_liquidacion').jqGrid('delRowData', item);
		});	
		jQuery("#tabla_liquidacion").trigger("reloadGrid");
}

/*----------fin funciones------------*/
